Business Intelligence (BI) generally refers to software tools used to improve enterprise decision-making, where an enterprise may be a business, government entity, foundation, and the like. These tools are commonly applied to financial, human resource, marketing, sales, customer and supplier analyses. More specifically, these tools can include: reporting and analysis tools to present information; content delivery infrastructure systems for delivery and management of reports and analytics; data warehousing systems for cleansing and consolidating information from disparate sources; and data management systems, such as relational databases or On Line Analytic Processing (OLAP) systems used to collect, store, and manage raw data.
BI systems commonly process BI objects. A BI object is a software object that characterizes resources and data within a BI system. BI objects may include schedules, users, servers, data sources, reports, documents, files (e.g., spread sheets, graphics, data), and the like. A BI object typically contains metadata characterizing itself and/or other entities within a BI system. Metadata is information about information. Metadata typically constitutes a subset or representative values of a larger data set.
A BI object can include a metadata element, a data structure, or a combination of both. An example of a BI object that contains metadata characterizing other entities within a BI system is where a BI object characterizes an associated file. For example, the associated file could be a report—itself a BI object. BI objects include data structures, e.g., an associated file including a report, etc., and metadata elements, e.g., a BI object characterizing a data structure.
Sometimes it is desirable to move a BI object from one system to another, such as when developing content in a test system for deployment in a production system, when providing example BI objects for import to a customer system, when upgrading between two versions of a system, when moving new versions of objects from one system to another, and when backup and versioning of objects. BI object movement can be accomplished by having the source and target system simultaneously online and network accessible by a third system. In this solution, the third system exports objects from the source system, performs any required processing, and imports the objects into the target system. This solution is restrictive since both systems must be running and the import tool must be able to access both systems via a network. In addition, this solution is complicated because one or both systems may be located behind firewalls and/or may be located in physically remote locations and/or different networks. Furthermore, this solution can create a security risk as both systems may be accessible from a network.
Another problem is transporting third-party BI objects. New kinds of BI objects may be created by third-parties and published to a proprietary BI system. Frequently these new objects must be moved to other BI systems, yet the BI system designers have no prior knowledge of the structure of the BI objects. This problem can be resolved by re-writing the import tool to understand every new kind of BI object. This solution is restrictive since it is resource intensive and requires the coordination between import tool developers and all third-party BI object developers. Of course a system can be configured that does not support third-party BI objects. However, this solution restricts the extensibility of a BI system.
In view of the foregoing, it would be desirable to provide an improved technique for moving BI objects from one system to another system.